<html>
<head><meta charset="utf-8"><title>Set ninja=true by default compiler-team#339 · t-compiler/major changes · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/index.html">t-compiler/major changes</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html">Set ninja=true by default compiler-team#339</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="205644938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205644938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205644938">(Jul 31 2020 at 21:45)</a>:</h4>
<p>A new proposal has been announced: <a href="https://github.com/rust-lang/compiler-team/issues/339">#339</a>. It will be announced at the next meeting to try and draw attention to it, but usually MCPs are not discussed during triage meetings. If you think this would benefit from discussion amongst the team, consider proposing a design meeting.</p>



<a name="205645014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205645014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205645014">(Jul 31 2020 at 21:46)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="492">@T-compiler</span>: Proposal <a href="https://github.com/rust-lang/compiler-team/issues/339#issuecomment-667399495">#339</a> has been seconded, and will be approved in 10 days if no objections are raised.</p>



<a name="205646087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646087">(Jul 31 2020 at 21:58)</a>:</h4>
<p>A "future step" here would be default to system llvm. Ie, <code>./x.py build</code> would print "you don't have llvm installed, run <code>apt-get install llvm</code> or set <code>[build] llvm=true</code> in settings.toml"</p>



<a name="205646545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646545">(Jul 31 2020 at 22:04)</a>:</h4>
<p>That's likely a bad idea -- or at least I would prefer not to.</p>



<a name="205646556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646556">(Jul 31 2020 at 22:04)</a>:</h4>
<p>We should instead use the LLVM binary from beta (or rustc master)</p>



<a name="205646580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646580">(Jul 31 2020 at 22:05)</a>:</h4>
<p>system llvm is likely to be outdated/missing patches etc and may either just flat out not work or fail some tests</p>



<a name="205646713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646713">(Jul 31 2020 at 22:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="133169">matklad</span> <a href="#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339/near/205646087">said</a>:</p>
<blockquote>
<p>A "future step" here would be default to system llvm. Ie, <code>./x.py build</code> would print "you don't have llvm installed, run <code>apt-get install llvm</code> or set <code>[build] llvm=true</code> in settings.toml"</p>
</blockquote>
<p>it was considerably more complicated than that for me</p>



<a name="205646727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646727">(Jul 31 2020 at 22:07)</a>:</h4>
<p>I had to add <code>buster-backports</code> to apt because the newest version on debian 10 is llvm 7</p>



<a name="205646736"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646736" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646736">(Jul 31 2020 at 22:07)</a>:</h4>
<p>My anecdotal experience that switching to system's llvm made my life significantly better, but it took me several years to discover that this is an option :-) Using correct pre-built LLVM would be ideal, of course</p>



<a name="205646750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646750">(Jul 31 2020 at 22:07)</a>:</h4>
<p>then after installing llvm8 <code>/usr/bin/llvm-config</code> is not enough because it will try to use <code>/usr/bin/FileCheck</code> which doesn't exist</p>



<a name="205646763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646763">(Jul 31 2020 at 22:07)</a>:</h4>
<p>instead you need <code>/usr/lib/llvm-8/bin/llvm-config</code></p>



<a name="205646769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646769">(Jul 31 2020 at 22:07)</a>:</h4>
<p>then after that install <code>llvm-8-tools</code></p>



<a name="205646853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646853">(Jul 31 2020 at 22:08)</a>:</h4>
<p><span class="user-mention" data-user-id="232545">@Joshua Nelson</span>'s experience basically sounds like what I'd expect. That said, maybe lots of people use Arch and such and have latest llvm already</p>



<a name="205646864"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205646864" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205646864">(Jul 31 2020 at 22:08)</a>:</h4>
<p>(though we do have some custom patches applied atop)</p>



<a name="205647240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205647240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> matklad <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205647240">(Jul 31 2020 at 22:14)</a>:</h4>
<p>Fair, llvm on NixOS is fairly recent, which I expect contributes a lot to my different expereicen</p>



<a name="205678325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205678325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> yodal <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205678325">(Aug 01 2020 at 11:58)</a>:</h4>
<p>Has anyone been using Ninja with rustc on Windows? I don't think it will cause problems, but you never know with Windows development</p>



<a name="205683184"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205683184" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eric Huss <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205683184">(Aug 01 2020 at 14:11)</a>:</h4>
<p>I use ninja with msvc.  It is so much faster that I feel like the msbuild version is broken.  Also, per the comments in bootstrap, msbuild doesn't set the correct options.</p>



<a name="205690050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205690050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205690050">(Aug 01 2020 at 17:16)</a>:</h4>
<p>I use Ninja whenever I end up needing to build rustc on windows, which is super rarely...</p>



<a name="205690054"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205690054" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205690054">(Aug 01 2020 at 17:16)</a>:</h4>
<p>I believe chromium does use ninja extensively though…</p>



<a name="205693785"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/205693785" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mati865 <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#205693785">(Aug 01 2020 at 18:55)</a>:</h4>
<p>Make on Windows uses POSIX emulation layer, ninja being native win32 is way faster. No issues with MinGW.</p>



<a name="206719155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Set%20ninja%3Dtrue%20by%20default%20compiler-team%23339/near/206719155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Set.20ninja.3Dtrue.20by.20default.20compiler-team.23339.html#206719155">(Aug 12 2020 at 16:44)</a>:</h4>
<p>This proposal has been accepted: <a href="https://github.com/rust-lang/compiler-team/issues/339">#339</a>.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>